const path = require('path')

// 本地开发时本地代理路径（仅仅用于本地开发）
const devProxyTarget = 'http://api.vikingship.xyz/api'

function resolve(dir) {
  return path.join(__dirname, dir) // path.join(__dirname)设置绝对路径
}

module.exports = {
  productionSourceMap: true,
  runtimeCompiler: true,
  // 别名的配置
  chainWebpack: config => {
    // set第一个参数：设置的别名，第二个参数：设置的路径
    config.resolve.alias
    .set('@', resolve('./src'))
    .set('assets', resolve('./src/assets'))
    .set('components', resolve('./src/components'))
    .set('utils', resolve('./src/utils'))
    .set('hooks', resolve('./src/hooks'))

    // 引入全局scss文件
    const oneOfsMap = config.module.rule('scss').oneOfs.store
    oneOfsMap.forEach(item => {
      item
        .use('sass-resources-loader')
        .loader('sass-resources-loader')
        .options({
          // 公用scss
          resources: './src/styles/var.scss',
        })
        .end()
    })
  },
  // 本地开发环境使用，构建的时候不会走代理，而是走正常的接口地址
  devServer: {
    proxy: {
      // 配置代理，例如http://10.20.15.32:8080/path/api/getLists代理到https://xxxxxxx.com/path/api/getLists
      '/': {
        target: devProxyTarget,
        changeOrigin: true,
        pathRewrite: {
           '^/': '/' // 重写路径
        },
      },
    },
  },
}
